Academic Year/course:
2023/24
439 - Bachelor's Degree in Informatics Engineering
30240 - Embedded Systems II
Syllabus Information
Academic year:
2023/24
Subject:
30240 - Embedded Systems II
Faculty / School:
110 - Escuela de Ingeniería y Arquitectura
Degree:
439 - Bachelor's Degree in Informatics Engineering
ECTS:
6.0
Year:
4
Semester:
First semester
Subject type:
---
Module:
---
1. General information
The objective of the subject is to train the student in the design and programming of embedded systems that require an operating system due to their complexity, developing analysis and design skills.
For this purpose, the most commonly used real time scheduling techniques on monoprocessor are introduced when the cyclic executive based scheduling studied in Embedded Systems I is insufficient. A very representative real time operating system (SYS/BIOS), and the most widespread adaptation of the Linux kernel for real time are presented. The most relevant parameters of these systems are studied in order to be able to calculate compliance with deadlines (interruption latencies and planning and how to measure them in each case). In the case of Linux, the main interfaces of programming and internal kernel resources, kernel ejection configurations, and their advantages and limits for real time systems are studied in depth. The concepts and problems studied and solved in theory are supported with their practical implementation in SYS/BIOS and/or Linux.
These approaches and objectives are aligned with Goal 9 target 9.5 of the Sustainable Development Goals (SDGs) of the 2030 Agenda ( https://www.un.org/sustainabledevelopment/es/), and to a lesser extent with SDGs 3, 4, 6, 7, 11, 12, 13, 14, and 15.
2. Learning results
-
Have a broad vision of the most widespread microprocessors and interfaces in embedded and real-time systems.
-
Know and know how to use efficiently the usual programming languages in these environments (C, Ada, Java, etc.).
-
Have a broad vision of the most widely used operating systems in embedded and real-time systems, and know how to port to a platform and use the services of at least one of them.
-
Know and knows how to handle development environments for embedded and real-time systems.
-
Know how to analyse and select hardware/software platforms suitable for embedded and real-time applications.
-
Know how to design and build embedded and real-time systems based on microprocessors or other platforms, of low complexity, taking into account security, reliability, fault tolerance and power consumption criteria.
3. Syllabus
1. Real-Time OSs
1. Introduction. Current overview.
2. Review of expulsion planning methods with priorities in TR systems
3. Synchronization, priority inversion / inheritance
4. Cases: IT SYS/BIOS and POSIX (pthreads)
2. System architecture
1. Case study: ARM
2. Outage management
3. Factors affecting outage latency
3. Linux/ARM as an embedded solution
1. Structure and dynamics of a Linux kernel
2. Kernel ejection models and their consequences in embedded systems
3. Synchronization in the kernel
4. Exceptions. Interruption latency.
5. Callouts. Linux case: tasklets, softirqs, workqueues
6. Planning / real time planning
7. Kernel memory management
8. File and I/O management. Main subsystems
9. Drivers (modules) and hdw access: Linux Device model
4. Laboratory Practices
1. Real-time programming on SYS/BIOS and POSIX
2. Creating a Linux distribution for an embedded system
3. Kernel configuration and modification
4. Measurement of outage latency
5. Expansion projects
4. Academic activities
Lectures, problem classes and practical sessions in the laboratory are given according to the timetable established by the center (timetables available on its web page).
Each teacher will inform of their tutoring schedule.
The rest of the activities will be planned according to the number of students and will be announced well in advance. It will be available at http://moodle.unizar.es
The detailed calendar of the various activities to be carried out will be established once the University and the Center have approved the academic calendar (see EINA website).
The list and dates of the various activities, along with all kinds of information and documentation on the course, will be published in http://moodle.unizar.es/ (Note. To access this website the student must be enrolled). As a guideline:
Each week, 3 hours of classroom classes are scheduled.
Six laboratory practices of 3 hours each will be carried out.
Additional scheduled activities (assignments and others) will be announced well in advance, both in class and in the classroom and on http://moodle.unizar.es/.
The dates of the exams and tests of official call will be fixed by the Direction of the Center.
5. Assessment system
The assessment is done on a continuous basis with the following assessment:
-
Examination of problems: 30%
-
Laboratory practices: 40%
-
Assignments and evaluable activities: 30%
Exceptionally, students may resort to the assessment by means of a global test that will integrate the previous sections above.